import { TimeRange } from "@/utils"

export interface GameBetslipParams {
	betAmountMax?: number
	betAmountMin?: number
	betType?: number
	businessModel?: number
	createAtEnd?: string
	createAtStart?: string
	gameTypeName?: string
	generatedId?: string
	id?: string
	loginIp?: string
	memberName?: string
	merchantId?: number
	netAmountMax?: number
	netAmountMin?: number
	netAtEnd?: string
	netAtStart?: string
	obBetStatus?: number
	obDeviceType?: any[]
	obSettleCount?: number
	orderKey?: number
	orderType?: number
	pageNum?: number
	pageSize?: number
	parentProxyName?: string
	playerName?: string
	topProxyName?: string
	venueCodeList?: any[]
	venueTypeCode?: string
	vipLevelMax?: number
	vipLevelMin?: number
}

export interface GameBetslipResponse {
	pageSize: number
	pageNum: number
	totalRecord: number
	totalPage: number
	record: GameBetslipRecord[]
	summary: GameBetslipSummary
}

export interface GameBetslipRecord {
	id: string
	generatedId: string
	venueTypeCode: string
	venueCode: string
	gameTypeId: string
	gameTypeName: string
	parentProxyId: string
	parentProxyName: string
	topProxyId: string
	topProxyName: string
	memberName: string
	playerName: string
	accountType: number
	obDeviceType: number
	vipLevel: number
	vipRebateRate: number
	rebateAmount: number
	loginIp: string
	merchantId: string
	merchantName: string
	betAmount: number
	validBetAmount: number
	netAmount: number
	payAmount: number
	obBetStatus: number
	createAt: string
	netAt: string
	matchInfo: string
	matchId: string
	betContent: string
	memberCurrency: string
	createAtString: string
	netAtString: string
	venueTypeName: string
	venueName: string
	betType: any
	parentBetType: any
	pumpContribution: any
	obSettleCount: number
	betOrderId: any
	pumpingAmount: number
	businessModel: number
	memberId: string
	roundNo: string
	tableId: any
	bbBlindScore: any
	sbBlindScore: any
	ipAttribution: string
}

export interface GameBetslipSummary {
	settledCount: number
	unSettledCount: number
	noSettledCount: number
	betAmount: DataInCurrency
	validBetAmount: DataInCurrency
	netAmount: DataInCurrency
	pumpContributionAmount: DataInCurrency
	currPageBetAmount: number
	currPageValidBetAmount: number
	currPageNetAmount: number
	currPagePumpContributionAmount: number
}

export interface DataInCurrency {
	cnySum: number
	thbSum: number
	vndSum: number
	usdtSum: number
}

export interface GameRecordTypeSection {
	type: number
	parentType: number
	desc: string
	sortValue: number
	enable: boolean
	subList: GameRecordTypeSection[]
}

export interface IPageVenueOptLogParams {
	endTime?: number
	ip?: string
	merchantCode?: string
	operationMenu?: string
	operationPage?: number
	operator?: string
	startTime?: number
	time: TimeRange
}

export interface IPageVenueOptLog {
	id: number
	merchantId: number
	merchantCode: string
	merchantName: string
	operationMenu: number
	operationPage: number
	operationType: string
	operationFunction: string
	operationTarget: string
	operatorType: string
	ip: string
	operationBefore: string
	operationAfter: string
	remark: string
	operator: string
	createdAt: string
}
